Interfaces Does the Library only allow adding Book or Video objects? DEMO (add a String object to a Library) How can you restrict the Library to only accept Book and Video? use Holding interface DEMO (Holding.java, create empty Holding interface) make Book/Video implement Holding change Library to use array of Holding Should the Holding interface contain any methods? DEMO (put setTitle/getTitle into Holding interface) leave implementation of setTitle/getTitle in Book/Video Inheritance How can you use inheritance to avoid duplicate code in Book and Video? DEMO (move setTitle/getTitle into HoldingImpl parent class) copy toString/equals into HoldingImpl make Book/Video extend HoldingImpl change title references to super in constructor, toString, equals Comparable How can you make the Library sort its holdings by title? DEMO (add sort method to Library class) java.util.Arrays.sort(holdings, 0, count); Why does the sort not work? doesn't work because Book/Video don't implement Comparable Which class should implement Comparable? DEMO (make HoldingImpl implement Comparable)